(1) Field of the Invention
The present invention relates to an apparatus that acquires data satisfying certain conditions from transmitted data streams. More particularly, the present invention relates to a data acquisition apparatus that acquires lots of data efficiently with limited hardware resources.
(2) Description of Related Art
Data acquisition apparatuses such as digital broadcast receivers are required to extract pieces of data that satisfy certain conditions, with limited hardware resources and time, from broadcast data transmitted from a transmitting station.
FIG. 28 is a functional block diagram showing the construction of a conventional data acquisition apparatus. The data acquisition apparatus 500 includes: a data acquisition request receiving unit 501 which corresponds to hardware and software portions of a digital broadcast receiver, the portions performing basic processes concerning data reception such as broadcast data receiving, demultiplexing, decoding, and filtering, and receives data acquisition requests from various types of application programs (hereinafter simply referred to as “applications”) that are provided to achieve various functions of the receivers; a data acquisition request setting unit 509 which converts the received requests into parameters suitable for a data acquiring unit 507 and sets the parameters in the data acquiring unit 507; the data acquiring unit 507 which extracts data that satisfies the set data acquisition requests, from broadcast data; and a data transmitting unit 508 which transmits the data acquired by the data acquiring unit 507 to the applications that have requested the acquired data.
FIG. 29 is a flowchart showing the procedure of data acquisition by the conventional data acquisition apparatus 500 shown in FIG. 28.
The data acquisition request receiving unit 501 receives from an application a data acquisition request requesting to acquire data such as a certain piece of broadcast program information or control information, and sends the received data acquisition request to the data acquisition request setting unit 509 (step S100). The data acquisition request setting unit 509 converts the received request into a parameter suitable for the data acquiring unit 507 and sets the parameters in the data acquiring unit 507 (step S101). The data acquiring unit 507 starts a data acquisition corresponding to the set parameter (step S102). For example, the data acquiring unit 507 monitors whether the broadcast data includes a piece of program information that satisfies a certain condition.
The data acquiring unit 507 judges whether target data has been acquired (step S103). When it is judged negatively, the data acquiring unit 507 repeats this judgement until it is judged positively. When it is judged positively in step S103, the data acquiring unit 507 sends the data to the data transmitting unit 508, and the data transmitting unit 508 transmits the data to the application that has requested the data (step S104).
As described above, conventional data acquisition apparatuses faithfully execute each data acquisition request transmitted from the applications.
In such conventional data acquisition apparatuses, however, once a data acquisition for a data acquisition request is started, a certain hardware resource is kept occupied unless the data acquisition is canceled explicitly. As a result, when a plurality of data acquisition requests are transmitted from a plurality of applications at a time, or when a data acquisition for a piece of data that is transmitted with a low frequency is started, very inefficient data acquisitions (with low data acquisition rates) are performed.
Though each application may be programmed beforehand so as not to generate a wasteful time in consideration of the internal processing procedure or timing with which data acquisition requests are generated, it is difficult to design the system in consideration of impact of the applications on each other (a conflict between two or more data acquisition requests issued at the same time). The above problem remains unsolved.